摘要 (Abstract)
随着大语言模型 (LLM) 在企业级应用中的普及,传统的“朴素 RAG (Naive RAG)”(即:用户提问 -> 向量检索 -> 拼接提示词 -> LLM 生成)面临着严重的瓶颈:检索质量不可控、模型盲目相信检索结果导致幻觉、以及对不同复杂度问题的“一刀切”处理导致资源浪费。
为了突破这些极限,RAG 架构正在向代理化 (Agentic) 和反思化 (Reflective) 演进。
1. Self-RAG:赋予 LLM 内在的反思与批判能力
1.1 核心理念
传统 RAG 是一个单向流水线,LLM 被动接收检索内容。而 Self-RAG (Self-Reflective RAG) 框架的核心思想是:通过训练或提示工程,让 LLM 学会在生成过程中进行自我反思 (Self-Reflection)。它不再无条件接受检索结果,而是学会按需检索、批判检索质量,并评估自身生成的答案。
1.2 架构与工作流
Self-RAG 的精髓在于引入了一组特殊的反思令牌 (Reflection Tokens)。它的执行过程是一个动态的分步决策树:
- 按需检索 (Retrieve on Demand):
- 面对用户查询,LLM 首先判断是否需要外部知识。
- 输出令牌
[Retrieve=Yes]或[Retrieve=No]。如果为 No,则直接利用参数化记忆回答。
- 并行生成与评估 (Parallel Generation & Critique):
- 如果执行了检索,针对返回的多个文档片段 (Passages),LLM 会并行生成草稿回复,并对每个片段和回复进行打分。
- 评估维度包括:
- 相关性 (Relevance):检索到的文档与问题相关吗?(
[Relevant],[Irrelevant]) - 支持度 (Support):生成的回复是否被检索到的文档完全支撑?(
[Fully supported],[Partially supported],[No support]) - 实用性 (Utility):最终回复对用户的有用程度如何?(
[Utility=5])
- 相关性 (Relevance):检索到的文档与问题相关吗?(
- 选择最优解 (Selection):
- 系统根据上述反思令牌的加权得分,选择最佳的文档-回复对作为最终输出。
1.3 技术极限与工程考量
- 优势:极大地降低了由于检索到噪声文档而导致的幻觉;提高了回答的严谨性(确保有据可查)。
- 挑战:Self-RAG 原论文通过微调(如 Llama-2)注入这些控制令牌。在不微调的情况下,依赖 Prompt 触发反思(如 LangChain 的 Self-RAG 实现)会显著增加 Token 消耗和推理延迟(因为需要多次调用 LLM 进行评估)。
- 突破点:使用轻量级的专属评估模型 (Critic Model) 替代大模型主体的反思功能,以空间换时间。
2. Corrective RAG (CRAG):在检索与生成之间的坚实防火墙
2.1 核心理念
即使是最先进的检索器,也难免返回不相关或含有错误的文档。Corrective RAG (CRAG) 的核心是在检索 (Retrieval) 和生成 (Generation) 之间插入一个轻量级但高度可靠的“检索评估器 (Retrieval Evaluator)”,并在必要时触发外部知识纠错机制。
2.2 架构与工作流
CRAG 的处理逻辑类似于一个严格的安检系统:
- 初始检索与评估 (Evaluate):
- 针对用户查询进行常规检索。
- 评估器对检索到的每个文档进行置信度打分,将其分类为三种状态:正确 (Correct)、错误 (Incorrect)、或 模棱两可 (Ambiguous)。
- 知识重构与纠错 (Action):
- 如果 Correct:触发知识提炼 (Knowledge Refinement)。不直接把长篇大论扔给 LLM,而是提取文档中的核心实体和关键片段,过滤掉冗余信息。
- 如果 Incorrect:果断抛弃该检索结果!并触发网络搜索 (Web Search)。由于私有知识库未能命中,系统将用户查询重写,并通过 Google/Bing 搜索获取最新外部知识。
- 如果 Ambiguous:结合上述两者,既保留部分提炼的内部知识,又辅以网络搜索进行交叉验证。
- 最终生成 (Generate):
- 结合经过提炼、纠错和补充的高质量上下文,送入 LLM 进行最终生成。
2.3 技术极限与工程考量
- 优势:极强地增强了系统的鲁棒性。网络搜索的 fallback 机制有效解决了私有知识库的长尾问题和时效性问题。
- 挑战:评估器的准确性至关重要。如果评估器本身产生误判,会导致不必要的网络搜索(增加延迟和成本)或漏掉正确的内部知识。
- 突破点:采用基于小参数模型(如 T5-large 专门 fine-tune 的 NLI 模型)作为评估器,实现毫秒级的高效拦截,而非全部依赖 GPT-4 级别的模型进行评估。
3. Adaptive RAG:基于认知复杂度的智能路由
3.1 核心理念
知识是无穷的,但计算资源是有限的。并非所有问题都需要复杂的 RAG 流程。用户问“你好”和问“2025年Q3财报中提及的AI投入与Q2相比增长了多少”,显然需要不同的处理路径。Adaptive RAG (自适应 RAG) 的核心是查询路由 (Query Routing),它根据问题的复杂度动态分配计算资源。
3.2 架构与工作流
Adaptive RAG 处于 RAG 系统的最前端:
- 查询复杂度分类器 (Query Classifier / Router):
- 用户输入后,系统首先对其进行分类。分类不仅基于意图,更基于回答所需的认知复杂度。
- 动态路由执行 (Dynamic Routing):
- 路径 A (No Retrieval - LLM 参数化记忆):例如闲聊、基础常识。直接调用 LLM,不经过向量库,延迟最低。
- 路径 B (Single-Step RAG - 简单检索):例如“公司的请假政策是什么”。执行标准的单次向量检索 + 生成。
- 路径 C (Multi-Step / Agentic RAG - 复杂推理):例如跨文档比较、聚合分析。将查询分解为多个子查询,进行多轮迭代检索,甚至调用数据分析工具 (SQL/Code Interpreter)。
- 自适应闭环:
- 甚至在执行路径 C 时,如果系统发现检索陷入死胡同,它可以动态回退到重新搜索或更改查询策略。
3.3 技术极限与工程考量
- 优势:在保证复杂问题回答质量的同时,最大化地优化了系统的平均响应时间 (Latency) 和 Token 成本。
- 挑战:路由器的设计极其考究。提示词路由 (Prompt-based Router) 容易出错且较慢,语义路由 (Semantic Router 基于向量相似度) 难以捕捉逻辑复杂度。
- 突破点:使用基于用户历史行为和查询意图图谱 (Intent Graph) 联合训练的专职 Router 模型,实现准确率 >95% 的极速分流。
💬 评论讨论